package com.yj.ccs.abs.web.asset.dto;

import com.yj.ccs.abs.common.enums.AssetGuaranteeType;
import com.yj.ccs.abs.common.enums.AssetLevelType;
import com.yj.ccs.abs.web.common.entity.Attachment;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * Copyright 2018 (C) Yunjian-VC
 * Created on : 2018/3/24
 * Author     : Unbelievable9
 **/
@Data
public class UpdateBasicInfoDto {

    @NotNull(message = "资产ID不能为空")
    @ApiModelProperty(value = "资产ID", required = true, example = "1")
    private Long id;

    @NotNull(message = "应收账款分级不能为空")
    @ApiModelProperty(value = "应收账款分级<br>1-正常<br>2-逾期<br>3-关注<br>4-次级<br>5-违约", required = true, example = "NORMAL")
    private AssetLevelType level = AssetLevelType.NORMAL;

    @NotNull(message = "是否有保险不能为空")
    @ApiModelProperty(value = "是否有保险", required = true, example = "false")
    private Boolean insured = false;

    @ApiModelProperty(value = "保险覆盖率", example = "98.00")
    private BigDecimal insurance_coverage = BigDecimal.ZERO;

    @ApiModelProperty(value = "保险单附件")
    private List<Attachment> insured_files;

    @NotNull(message = "担保方式不能为空")
    @ApiModelProperty(value = "担保方式<br>1-无<br>2-信用<br>3-一般保证<br>4-最高额保证<br>5-一般抵押<br>6-最高额抵押<br>7-质押", required = true, example = "NONE")
    private AssetGuaranteeType guarantee = AssetGuaranteeType.NONE;

    @ApiModelProperty(value = "担保文件附件")
    private List<Attachment> guarantee_files;

    @NotNull(message = "是否有质保金不能为空")
    @ApiModelProperty(value = "是否有质保金", required = true, example = "false")
    private Boolean deposited = false;

    @ApiModelProperty(value = "质保金金额", example = "782880.00")
    private BigDecimal money_deposited = BigDecimal.ZERO;

    @ApiModelProperty(value = "质保文件附件")
    private List<Attachment> deposited_files;

    @NotNull(message = "是否有展期条款不能为空")
    @ApiModelProperty(value = "是否有展期条款", required = true, example = "false")
    private Boolean expanded = false;

    @ApiModelProperty(value = "展期条款文件附件")
    private List<Attachment> expanded_files;
}
